﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Quaack.Properties;

namespace Quaack
{
    public partial class reageer : System.Web.UI.Page
    {
        protected void page_preinit()
        {
            if (User.Identity.IsAuthenticated) Page.MasterPageFile = "~/Site-Ingelogd.Master";
            else
            {
                Page.MasterPageFile = "~/Site.Master";
                string url;
                url = "~/default.aspx";
                Response.Redirect(url);
            }
        }

            //sessie info

            //int parent message
            //int sender


        protected void PlaatsReactie(object zender, EventArgs e)
        {
            int userID = 0;

            if (User.Identity.IsAuthenticated)
            {
                int messid = Convert.ToInt32(Session["messid"]);
                int parentid = Convert.ToInt32(Session["parentmessid"]);
                int sender = Convert.ToInt32(Session["sender"]);

                              
                //String text = Session["parentmessageid"];

                //Object sender = Session["parentmessageid"];

                
            //SESSIEGEGEVES

                int removed = 0;
                ;   //nu hardcoded ... HIER moet de messid komen waarop gereageerd wordt
           
            //STRING VAN INGELOGDE (SESSIE) GEBRUIKER OPHALEN
                SqlConnection sqlConn = new SqlConnection(Settings.Default.quaackdb);

                String user = User.Identity.Name;
                SqlCommand GetUserID = new SqlCommand("SELECT profileid from profile where username = '" + user + "'", sqlConn);
                
                sqlConn.Open();
                object sqlObject = GetUserID.ExecuteScalar();
                if (sqlObject != null)
                {
                    userID = Convert.ToInt32(sqlObject.ToString());
                }
                sqlConn.Close();

            //OVERIGE BERICHTVARIABELEN DEFINIEREN

                DateTime posttimemessage = DateTime.Now;
                String message = txtNieuwereactie.Text;
                // check of de tabel geen "&nbsp;" heeft en converteeer het naar "0" bij reactie op bericht zonder parentmessid
              

            //BERICHT WEGSCHRIJVEN NAAR SQL
                SqlCommand plaatsReactie = new SqlCommand("Insert into message(messdatetime, sender, message, parentmessid, removed) values (@messdatetime, @sender, @message, @parentmessid, @removed)", sqlConn);

                //if parrentmessid = 0 voeg dan geen bericht toe met Plaatsreactie maar met plaatsBericht
               //if (parentid == 0) { SqlCommand plaatsBericht = new SqlCommand("Insert into message(messdatetime, sender, message, removed) values (@messdatetime, @sender, @message, @removed)", sqlConn);}

                plaatsReactie.Parameters.AddWithValue("@messdatetime", posttimemessage);
                plaatsReactie.Parameters.AddWithValue("@sender", userID); 
                plaatsReactie.Parameters.AddWithValue("@message", message);
                if (parentid == 0)
                {
                    plaatsReactie.Parameters.AddWithValue("@parentmessid", messid);
                }
                else
                {
                    plaatsReactie.Parameters.AddWithValue("@parentmessid", parentid);
                }

                plaatsReactie.Parameters.AddWithValue("@removed", removed);


                sqlConn.Open();
                plaatsReactie.ExecuteNonQuery();
                sqlConn.Close();

                int vaneigenpagina = Convert.ToInt32(Session["redirectvaneigenpagina"]);

                if ( vaneigenpagina == 1)
                {
                    Response.Redirect("~/EigenPagina.aspx");
                }
                else
                {
                    Response.Redirect("~/PaginaLezenAndereGebruiker.aspx");
                }

            }

            //terugsturen naar voorgaande profielpagine ? >> Response.Redirect(Request.RawUrl);

            //if (IsPostBack)
            //{

            //    String referrerlink = Request.UrlReferrer.ToString();
            //    Response.Redirect(referrerlink);
                
            //}
        }
    }
}